Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Java Data Objects</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Java_Data_Objects"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Java_Data_Objects rootpage-Java_Data_Objects skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Java Data Objects</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr">
<p><i><b><span class="lang-en" lang="en">Java Data Objects</span></b></i> (ou JDO) est un standard informatique basé sur <a href="Java_(langage)" title="Java (langage)">Java</a> permettant l'accès aux données de façon transparente et unifiée.
</p><p>Le standard est géré dans le cadre des <a href="Java_Specification_Requests" title="Java Specification Requests">JSR</a> de <a href="Sun_Microsystems" title="Sun Microsystems">Sun</a>.
</p><p>La simplicité d'utilisation de JDO basée sur la manipulation de <i><span class="lang-en" lang="en"><a href="Plain_Old_Java_Object" class="mw-redirect" title="Plain Old Java Object">Plain Old Java Objects</a></span></i> (POJO) a fait le succès de ce standard. Le <a href="D%C3%A9veloppeur" title="Développeur">développeur</a> peut manipuler les objets sans se soucier de la <a href="Persistance_(informatique)" title="Persistance (informatique)">persistance</a>. Potentiellement, le standard permet l'accès à des sources de données de nature diverse.
</p><p>Trois grandes catégories d’<a href="Mise_en_%C5%93uvre" title="Mise en œuvre">implémentations</a> existent&nbsp;:
</p>
<ul><li>les implémentations qui ne supportent que les <a href="Base_de_donn%C3%A9es_relationnelle" title="Base de données relationnelle">bases de données relationnelles</a>&nbsp;;</li>
<li>les implémentations qui ne supportent que les <a href="Base_de_donn%C3%A9es_orient%C3%A9e_objet" title="Base de données orientée objet">bases de données orientées objet</a>&nbsp;;</li>
<li>les implémentations qui supportent des sources de données hétérogènes (SGBDR, SGBDO, <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a>, <a href="Mainframe" class="mw-redirect" title="Mainframe">Mainframe</a>) et également l'accès à des services (<a href="Service_web" title="Service web">Web Services</a>, <a href="Java_messaging_service" class="mw-redirect" title="Java messaging service">Java messaging service</a> (JMS), <a href="Java_connector_architecture" title="Java connector architecture">Java connector architecture</a> (JCA), <a href="COBOL" class="mw-redirect" title="COBOL">COBOL</a>). Dans les cas des implémentations supportant des sources hétérogènes, l'un des bénéfices apportés est la flexibilité du <a href="Syst%C3%A8me_d'information" title="Système d'information">système d'information</a>. Il devient en effet possible de changer de source de donnée par simple paramétrage.</li></ul>

<div class="mw-heading mw-heading2"><h2 id="Historique_de_JDO">Historique de JDO</h2></div>
<p>JDO est la première spécification de Java permettant la persistance transparente (JSR12).
</p><p>JDO 1.0 a été accepté comme le standard Java de gestion de la persistance en <time class="nowrap" datetime="2002-04" data-sort-value="2002-04">avril 2002</time>. De premières implémentations voient alors le jour, telles que FOStore ou DataNucleus Access Platform.
</p><p>JDO 2.0 a commencé en <time class="nowrap" datetime="2003-08" data-sort-value="2003-08">août 2003</time>. Fin 2005, JDO 2.0 est quasi finalisé sous <a href="Apache_Software_Foundation" title="Apache Software Foundation">Apache Software Foundation</a>. En <time class="nowrap" datetime="2005-03" data-sort-value="2005-03">mars 2005</time> le vote final sur JDO 2.0 est approuvé en tant que JSR243 à la quasi-unanimité par SUN, BEA, Oracle, <a href="Borland" title="Borland">Borland</a>, HP, <a href="Intel" title="Intel">Intel</a>, <a href="Fujitsu" title="Fujitsu">Fujitsu</a>, SAP, <a href="Google" title="Google">Google</a>, <a href="IBM" title="IBM">IBM</a>... Sur 16 votants seul JBoss (Hibernate) n'a pas voté. Une partie des implémentations de JDO 1.0 sont alors augmentées en conséquence, par exemple JPOX et Xcalia. Cette version est complétée par des versions 2.1 et 2.2.
</p><p>JDO 3.0 a débuté en 2008.
</p>
<div class="mw-heading mw-heading2"><h2 id="Nouveautés_de_JDO_2.0"><span id="Nouveaut.C3.A9s_de_JDO_2.0"></span>Nouveautés de JDO 2.0</h2></div>
<ul><li>Attachement et détachement</li>
<li>Interface javax.jdo.FetchPlan et ««<i><span class="lang-en" lang="en">fetch groups</span></i> nommés</li>
<li><a href="JDOQL" title="JDOQL">JDOQL</a> projections et agrégats (count, sum, min, max, etc)</li>
<li>JDOQL requêtes nommées</li>
<li>JDOQL suppression par requête</li>
<li>Support natif des requêtes <a href="Structured_Query_Language" title="Structured Query Language">SQL</a> pour les sources de données relationnelles</li>
<li>Interface javax.jdo.DataStoreCache pour contrôler le cache de deuxième niveau</li>
<li>Interface javax.jdo.JDOConnection pour récupérer un accès direct à la connexion sous-jacente</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="Hibernate" title="Hibernate">Hibernate</a> (<a href="Mapping_objet-relationnel" title="Mapping objet-relationnel">Mapping objet-relationnel</a>, <a href="Java_(langage)" title="Java (langage)">Java</a>)</li>
<li><a href="Java_Persistence_API" class="mw-redirect" title="Java Persistence API">Java Persistence API</a> (JPA) (<a href="Mapping_objet-relationnel" title="Mapping objet-relationnel">Mapping objet-relationnel</a>, <a href="Java_(langage)" title="Java (langage)">Java</a>)</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.xcalia.com/products/core.jsp">XIC</a> (Plateforme d’Intermediation d’<a rel="nofollow" class="external text" href="http://www.xcalia.com">Xcalia</a>).</li>
<li><a rel="nofollow" class="external text" href="http://www.datanucleus.org">DataNucleus</a></li>
<li><a rel="nofollow" class="external text" href="https://db.apache.org/ojb/">ObJectRelationalBridge (OJB)</a></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/index-jsp-135919.html">JDO sur le site de Oracle</a></li></ul>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de la programmation informatique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2024-07-12" href="https://fr.wikipedia.org/wiki/?title=Java_Data_Objects&amp;oldid=216738988">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>